home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / lib / mathlib / libconv / EXAMPLES / fex1.f < prev    next >
Encoding:
Text File  |  1994-08-02  |  1.9 KB  |  41 lines

  1.       Program ex1
  2. ******************************************************************************
  3. *                                                                            *
  4. *     This test program illustrates 1D Finite Impulse Response (FIR) and     *
  5. *     Infinite Impulse Response (IIR) filters.                               *
  6. *                                                                            *
  7. *     We use here double precision versions DFIR1D and DIIR1D                *
  8. *                                                                            *
  9. ******************************************************************************
  10. *                                                                            *
  11. *     We first apply the IIR filter to an Impulse input                      *
  12. *     We use then the same filter as a FIR filter...                         *
  13. *     The final result an Impulse signal !                                   *
  14. *                                                                            *
  15. ******************************************************************************
  16.       parameter (MAX=7)
  17.       double precision impulse(0:MAX), filter(0:1)
  18.       double precision out1(0:MAX), out2(0:MAX)
  19.       impulse(0) = 1.0d0
  20.       do i = 1, MAX
  21.         impulse(i) = 0.0d0
  22.       end do
  23.       filter(0) = 1.0d0
  24.       filter(1) = 0.3d0
  25. *  IIR filter:
  26.       call diir1d( impulse,1,0,MAX+1,filter,1,0,2,out1,1,0,MAX+1)
  27. *  FIR filter:
  28.       call dfir1d(out1,1,0,MAX+1,filter,1,0,2,out2,1,0,MAX+1,1.d0,0.d0)
  29.       write(6,11)
  30.       write(6,12) impulse(0:MAX)
  31.       write(6,13)
  32.       write(6,12) out1(0:MAX)
  33.       write(6,14)
  34.       write(6,12) out2(0:MAX)
  35.  11   format('Input is an Impulse: ')
  36.  12   format(8f9.5)
  37.  13   format(/'After application of IIR filter:')
  38.  14   format(/'After a final FIR filter, output is an Impulse again:')
  39.       stop
  40.       end
  41.